package org.darcy.entity.org;

import java.io.Serializable;
import java.util.Date;

import org.darcy.entity.privilege.SysUser;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@Schema(description = "OrgStaff: 企业员工")
@TableName(value = "org_staff")
public class Staff implements Serializable {

	private static final long serialVersionUID = 1L;

	@Schema(description = "ID")
	@TableId(type = IdType.AUTO)
	private Integer id;

	@Schema(description = "账号id")
	@TableField(value = "`uid`")
	private Integer uid;

	@Schema(description = "工号")
	@TableField(value = "`code`")
	private String code;

	@Schema(description = "真实姓名")
	@TableField(value = "`name`")
	private String name;

	@Schema(description = "岗位编码")
	@TableField(value = "`position_code`")
	private String positionCode;

	@Schema(description = "职级编码")
	@TableField(value = "`job_grade_code`")
	private String jobGradeCode;

	@Schema(description = "部门id")
	@TableField(value = "`dept_id`")
	private Integer deptId;

	@Schema(description = "状态（1：在职，0：离职）")
	@TableField(value = "`status`")
	private Integer status;

	@Schema(description = "性别1：男；2：女")
	@TableField(value = "`sex`")
	private Integer sex;

	@Schema(description = "离职时间")
	@TableField(value = "`leave_date`")
	private Date leaveDate;

	@Schema(description = "创建时间")
	@TableField(value = "`create_time`")
	private Date createTime;

	@Schema(description = "更新时间")
	@TableField(value = "`update_time`")
	private Date updateTime;

	@Schema(description = "删除标识  0标识已删除   1标识未删除")
	@TableField(value = "`del_flag`")
	private Integer delFlag;

	// 扩展属性

	@Schema(description = "岗位名称")
	@TableField(exist = false)
	private String positionName;

	@Schema(description = "职级名称")
	@TableField(exist = false)
	private String jobGradeName;

	@Schema(description = "企业id")
	@TableField(exist = false)
	private String companyId;

	@Schema(description = "部门编码，员工导入使用")
	@TableField(exist = false)
	private String deptCode;

	@Schema(description = "部门名称")
	@TableField(exist = false)
	private String deptName;

	@Schema(description = "用户账号信息")
	@TableField(exist = false)
	private SysUser user;
	
	
	
}
